- 3 minutes to read

Custom Logging (DIY)

Unlock seamless business transaction tracking for any integration platform—even those without built-in tracking or a dedicated Nodinite Logging Agent. This guide empowers you to implement robust, asynchronous, and vendor-neutral Custom Logging with Nodinite.

✅ Effortlessly log business transactions from any system or platform
✅ Achieve reliable, asynchronous logging for maximum performance
✅ Avoid vendor lock-in with flexible, appender-based strategies
✅ Leverage proven templates and connectors for rapid implementation
✅ Monitor, search, and analyze logs in Nodinite for full visibility

Custom Logging with Nodinite lets you track, monitor, and audit business transactions across diverse integration solutions, ensuring compliance and operational excellence.

graph LR subgraph "Systems Integrations Solutions" roStrategy(fal:fa-lightbulb-on Logging Strategy) --> roBroker{fal:fa-brackets-curly Reusable
Generic Logging logic} roBroker --> |Nodinite JSON Log Event|roSink(fal:fa-file-export Intermediate storage ) roBroker -.-> |"The other format(s)"| ro2["Other Log destination(s)"] end subgraph "Nodinite instance" roPS(fal:fa-truck-pickup Pickup Service) -->roNI(fal:fa-cloud-arrow-down Log API) roSink --> roPS end

Diagram: Custom Logging architecture—shows how reusable logging logic in your integration solution produces Nodinite JSON Log Events, which the Pickup Service asynchronously collects and delivers to the Nodinite Log API.

Customers and Partners have successfully used Custom Logging to log business transactions to Nodinite from:

  • Apache Camel
  • IBM Sterling
  • iCore
  • Frends
  • Ghostnodes
  • MoveIT
  • TEIS (TietoEvry)
  • webMethods (Software AG)

Design Goals

When your integration platform lacks built-in tracking or a Nodinite Logging Agent, you must produce a JSON formatted Log Event and place it on a highly available target (such as a queue, file share, or database).

The Nodinite Pickup Log Events Service Logging Agent fetches your Log Events asynchronously, so you write less custom code, achieve reliable logging, and prevent overloading Nodinite in your custom-built solutions.

graph LR subgraph "Custom Logging" roLogSink("fal:fa-bolt Custom Logging Solution
.NET/.NET Core
Mule ESB
Java/NodeJS/
webMethods/...") --> roId1["fal:fa-list Queue
fal:fa-folder Folder
..."] end subgraph "Web Server" roLogAPI(fal:fa-cloud-arrow-down Log API) roPS(fal:fa-truck-pickup Pickup Service)--> roLogAPI roId1 -."1. Async Log Event".-x roPS roLogSink --> |"2. Synchronous Log Event"|roLogAPI end

Diagram: Two approaches—Async (recommended) and Synchronous logging. Async uses intermediate storage and Pickup Service for reliability and scalability.

  1. Async Log Event – Asynchronous
  2. Synchronous Log Event (NOT recommended)

Custom Logging Checklist

Follow these best practices for your Custom Logging strategy:

  • Make Custom Logging Asynchronous for reliability and scalability.
  • Use an appender-based strategy to avoid vendor lock-in.
  • Provide all necessary data:
    • Properties (key/value)
    • Message Body/Bodies (XML, JSON, Flatfile, CSV, EDIFACT, X12, ...)
  • Write custom code with a vendor-neutral abstraction layer to prevent lock-in.
  • Reuse a shared custom Logging component to support multiple, replaceable destinations.

Steps

Implement Custom Logging to Nodinite in these steps:

Step 1: Programming Language

Choose your programming language. Use proven NuGet packages or handcraft a solution as specified here.

Logging Templates

Step 2: Create the JSON Log Event

Write code that creates a Nodinite JSON Log Event.

Step 3: Write to Intermediate Storage

Write the JSON formatted Log Event to an intermediate storage. The Nodinite Pickup Service fetches Log Events from many storage types. Choose the one that fits your needs.

Step 4: Install Nodinite Pickup Service

If you have not already done so, install the Nodinite Pickup Service.

Step 5: Configure Nodinite Pickup Service

Configure the Nodinite Pickup Service for your environment.

Step 6: Monitor the Intermediate Storage

Select a Nodinite Monitoring Agent for your intermediate storage and ensure logging works. Monitor for stockpiled JSON formatted Log Events in the target or backout destination—this helps you catch rejected or malformed events.

See the table in Step 3 for more details.

Step 7: Create Log Views

Now that your Custom Logging solution is in place, you can create Log Views to visualize and search the logged data.

Step 8: Explore Log Views

Explore the Log Views to find and analyze your logged data. Use the built-in search capabilities to filter and sort the data as needed.


Next Step